#pragma once
#include<iostream>
#include<vector>

using namespace std;

namespace Solution
{
	template<class T, class Container = vector<T>>
	class stack
	{
	public:
		void push(const T& x) { _con.push_back(x); }
		void pop() { _con.pop_back(); }
		const T& top() { return _con.back(); }
		bool empty() const{ return _con.empty(); }
		size_t size()const { return _con.size(); }
	private:
		Container _con;
	};

	void test_st()
	{
		int begin = clock();
		vector<int>v{ 1,2,3,4,5,6,7,8,9,10 };
		stack<int>st;
		for (auto num : v)st.push(num);
		while (!st.empty())
		{
			cout << st.top() << ' ';
			st.pop();
		}
		int end = clock();
		cout << begin - end << endl;
	}
}